Today, mobile devices are designed to run a variety of applications and keep a user updated with current information. Some of these devices include personal digital assistants, wireless phones, and email devices. Mobile devices are now capable of connecting to the Internet and other networks thorough various means and thus exchange information over the networks. These mobile devices may update applications and send and receive information, such as emails, attachments to emails, and web page content. Providing all of this functionality requires applications on the mobile device to be notified of various events, such as when a new email is available, when a screen of the device is activated, when a phone call is received, and the like. It is difficult, however, to access all of the different state changes associated with the device.